package com.woniuxy.controller;

import com.woniuxy.entity.SysTeam;
import com.woniuxy.service.SysTeamService;
import com.woniuxy.util.ResponseUtil;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 系统团队控制器
 * 处理系统团队相关的HTTP请求
 */
@RestController
@RequestMapping("/sysTeam")
public class SysTeamController {
    @Resource
    private SysTeamService sysTeamService;
    /**
     * 根据ID查询系统团队
     * @param id 团队ID
     * @return 返回指定ID的团队信息
     */
    @GetMapping("/{id}")
    public ResponseUtil findById(@PathVariable Integer id){
        return sysTeamService.findById(id);
    }
    /**
     * 更新系统团队状态
     * @param id 团队ID
     * @param status 团队状态
     * @return 返回更新操作的响应结果
     */
    @PutMapping
    public ResponseUtil updateSysTeam(@RequestParam Integer id,@RequestParam Integer status){
        return sysTeamService.updateSysTeam(id,status);
    }
    /**
     * 删除系统团队
     * @param id 团队ID
     * @return 返回删除操作的响应结果
     */
    @PutMapping("/deleteSysTeam/{id}")
    public ResponseUtil deleteSysTeam(@PathVariable Integer id){
        return sysTeamService.deleteSysTeam(id);
    }
    /**
     * 添加新的系统团队
     * @param sysTeam 系统团队对象
     * @return 返回添加操作的响应结果
     */
    @PostMapping
    public ResponseUtil addSysTeam(@RequestBody SysTeam sysTeam){
        return sysTeamService.addSysTeam(sysTeam);
    }
    
    /**
     * 查询所有团队（排除指定医生已加入的团队）
     * @param doctorId 医生ID
     * @return 返回可加入的团队列表
     */
    @GetMapping
    public ResponseUtil findAllTeam(@RequestParam Integer doctorId){
        return sysTeamService.findAllTeam(doctorId);
    }
}
